<?php
/**
 * ArticleCategory
 *
 * Обработка данных категорий статей
 *
 * @author Mike
 */
class ArticleCategory extends ActiveRecord  {
	protected $tableName = 'article_category';
	public $pkName = 'ID_article_category';
	private static $arrAllCategories = null;	// Массив всех категорий
	
	protected $arrSettings = array('created_at' => true, 'author' => true, 'updated_at' => true);

	public $validatesLengthOf = array(
			'category_name' => array('min' => 2, 'max' => 256, 'message' => 'Название - 2-256 символов'),
			'description' => array('min' => 2, 'max' => 5000, 'message' => 'Описание - 2-5000 символов', 'allowNull' => true),
			'meta_description' => array('min' => 2, 'max' => 400, 'message' => 'Meta description - 2-400 символов','allowNull' => true),
			'meta_keywords' => array('min' => 2, 'max' => 400, 'message' => 'Meta keywords - 2-400 символов', 'allowNull' => true),
			'category_url' => array('min' => 1, 'max' => 64, 'message' => 'URL - от 1 до 64 символов'),
			'title' => array('min' => 1, 'max' => 256, 'message' => 'Title - от 1 до 64 символов')
	);
	
	public $validatesFormatOf = array(
			'category_url' => array('with' => '/^[\-_a-z0-9\.]+$/ui', 'message' => 'URL заполнен неверно')
	);
	
	public $validatesUniquenessOf = array(
			'category_url' => array('message' => 'Такой URL уже используется')
	);
	
	/**
	 * Получает список всех категорий статей
	 */
	public static function getAllCategories() {
		$objArticleCategory = new self();
		$arrCategories = $objArticleCategory->find('all', array('order' => 'category_name'));
		
		return Service_ArrayConverter::makeKeySimpleArrayFromMultyArray($arrCategories, 'ID_article_category', 'category_name');
	}
}